import java.util.Locale;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 阿宾
 * Date: 2024-07-26
 * Time: 17:09
 */
public class Test {
    public static void main(String[] args) {
        StringBuilder stringBuilder = new StringBuilder("abcd");
        System.out.println(stringBuilder);
        stringBuilder.append(1);
        stringBuilder.append(2).append("ahfdi");
        System.out.println(stringBuilder);
    }
    public static void main11(String[] args) {
        String str = "  hello  world 11  ";
        String str1 = str.trim();
        System.out.println(str1);

        System.out.println("============");
        String str2 = "HELLO WORLD";
        System.out.println(str2.toLowerCase());//转小写
        String str3 = "hello world Ha hA";
        System.out.println(str3.toUpperCase());//转大写

        String str4 = " hello&&&%%WW hhah 哈哈哈";
        System.out.println(str4.toUpperCase());//转大写
    }
    public static void main10(String[] args) {
        String str = "helloworld";
        String ret = str.substring(1);//如果参数为0，默认返回原来对象，否则返回新对象
        System.out.println(ret);
        String ret1 = str.substring(1,4);//区间范围是左闭右开
        System.out.println(ret1);
    }
    public static void main9(String[] args) {
        String str = "name=lihua&nianling=19|xingbie=man";
        String[] arr = str.split("&|\\|");//表示将&和|作为分隔符

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);

            //多次分割，相当于将上次分割的结果，在根据=再次分割
            String[] str1 = arr[i].split("=");
            for (int j = 0; j < str1.length; j++) {
                System.out.println(str1[j]);
            }
        }
    }
    public static void main8(String[] args) {
        String str1 = "name=zhangsan&age=10";
        String[] arr = str1.split("&");//注意参数是字符串，不是字符；返回值类型是字符串数组
        /**
         * 相当于把"name=zhangsan&age=10"分成了"name=zhangsan"和"age=10"
         * 然后作为数组arr的下标为0和下标为1位置上的元素
         * 此时arr.length=2
         */
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        System.out.println("=================");
        String str2 = "name=zhangsan&age=10&xingbie=man";
        String[] arr2 = str2.split("&",2);//按照格式，拆分成两组
        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);
        }

    }
    public static void main7(String[] args) {
        String str = "ababaab";
        String str1 = str.replace('a','y');//替换单个字符
        System.out.println(str1);
        String str2 = str.replace("ab","xyz");//替换字符串
        System.out.println(str2);
        String str3 = str.replaceFirst("b","z");//替换第一次出现的字符串b,不能是字符
        System.out.println(str3);
        String str4 = str.replaceAll("b","z");//替换所有出现的字符串b
        System.out.println(str4);
    }
    public static void main6(String[] args) {
        String s = String.format("%d-%d-%d", 2019, 9,14);
        System.out.println(s);//2019-9-14
    }
    public static void main5(String[] args) {
        String str = "hello";
        char[] arr = str.toCharArray();//字符串转数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        char[] arr2 = {'1','3','5','7'};
        String str2 = new String(arr2);//数组转字符串，需要字符数组
        System.out.println(str2);
    }
    public static void main4(String[] args) {
        String str1 = "hello";
        String str2 = "HELLO";
        System.out.println(str1.toUpperCase());
        System.out.println(str2.toLowerCase());
    }
    public static void main3(String[] args) {
        /**
         * 字符串查找
         */
        String str1 = "abede";
        char ch = str1.charAt(1);//获取指定位置的字符
        System.out.println(ch);//b

        int index = str1.indexOf('a');//返回‘a'第一次出现的位置，没有返回-1
        System.out.println(index);//0

        int index1 = str1.lastIndexOf('e');//从后往前找’e'第一次出现的位置(位置还是按照从前往后标号)，没有返回-1
        System.out.println(index1);//4
        String str2 = "aaaacdegdsse";
        int index2 = str2.lastIndexOf('a',3);//从下标为3位置，从后往前找’a'第一次出现的位置(位置还是按照从前往后标号)，没有返回-1
        System.out.println(index2);//3


    }
    public static void main2(String[] args) {
        String str1 = "hello";
        String str2 = "hello world";
        System.out.println(str1.compareTo(str2));
        /**
         * 比较逻辑：
         *
         */

    }
    public static void main1(String[] args) {


        //String定义的本质方法
        String str2 = new String("world");
        //精简版
        String str = "hello";//区别C语言，java当中的字符串，没有以\0结尾这样的说法

        char[] array = {'a','b','c'};//字符数组
        //将字符数组转换成字符串方法：
        String str3 = new String(array);
        System.out.println(str3);
    }
}
